Ein regulärer Ausdruck ist ein Textmuster, das
aus normalen Zeichen (z. B. Buchstaben von a bis z) und
Sonderzeichen, so genannten Metazeichen, besteht. Das Muster
beschreibt eine oder mehrere Zeichenfolgen, für die beim
Durchsuchen von Text eine Übereinstimmung gefunden werden muss.
Reguläre Ausdrücke können in der
Konfigurationsdatei OneclickSettings.ini sowie bei den Produkten
AutoClick und ClickReader bei der Erstellung von Layouts
(Layout-Editor) eingesetzt werden.
Die folgende Tabelle enthält eine vollständige
Liste der Metazeichen und deren Verhalten im
Zeichen
|
Beschreibung
|
\
|
Markiert das
nächste Zeichen als Sonderzeichen, Literal, Rückverweis oder
oktales Escapezeichen. Beispielsweise entspricht 'n' dem Zeichen
"n". '\n' entspricht einem Zeilenendezeichen. Die Sequenz '\\'
entspricht "\", und "\(" entspricht "(".
|
^
|
Entspricht der Position am Anfang der
Eingabezeichenfolge. Wenn die multiline-Eigenschaft des
RegExp-Objekts gesetzt ist, entspricht ^ auch der Position, die auf
'\n' oder '\r' folgt.
|
$
|
Entspricht der
Position am Ende der Eingabezeichenfolge. Wenn die
multiline-Eigenschaft des RegExp-Objekts gesetzt ist, entspricht $
auch der Position vor '\n' oder '\r'.
|
*
|
Entspricht dem vorherigen Zeichen oder
Teilausdruck null oder mehrere Male. Zum Beispiel entspricht zo*
den Zeichenfolgen "z" und "zoo". * ist gleichbedeutend mit
{0,}.
|
+
|
Entspricht dem vorherigen Zeichen oder
Teilausdruck einmal oder mehrere Male. Zum Beispiel entspricht
'zo+' den Zeichenfolgen "zo" und "zoo", jedoch nicht "z". + ist
gleichbedeutend mit {1,}.
|
?
|
Entspricht dem vorherigen Zeichen oder
Teilausdruck null- oder einmal. Beispielsweise entspricht "do(es)?"
der Zeichenfolge "do" in "do" oder "does". ? ? ist gleichbedeutend
mit {0,1}.
|
{n}
|
n ist eine nicht negative ganze Zahl.
Entspricht genau n-mal dem Zeichen. Beispielsweise entspricht
'o{2}' nicht dem 'o' in "Bob", jedoch den zwei o's in "food".
|
{n,}
|
n ist eine nicht negative ganze Zahl.
Entspricht mindestens n-mal dem Zeichen. Beispielsweise entspricht
'o{2,}' nicht dem 'o' in "Bob", jedoch allen o's in "foooood".
'o{1,}' ist gleichbedeutend mit 'o+'. 'o{0,}' ist gleichbedeutend
mit 'o*'.
|
{n,m}
|
M und n sind nicht negative ganze Zahlen,
wobei n <= m ist. Entspricht dem Zeichen mindestens n-mal und
höchstens m-mal. Beispielsweise entspricht "o{1,3}" den ersten drei
o's in "fooooood". 'o{0,1}' ist gleichbedeutend mit 'o?'. Beachten
Sie, dass Sie zwischen das Komma und die Zahlen kein Leerzeichen
setzen dürfen.
|
?
|
Wenn dieses
Zeichen unmittelbar auf einen der anderen Quantifizierer folgt (*,
+, ?, {n}, {n,}, {n,m}), ist das Vergleichsmuster nicht gierig. Ein
nicht gieriges Muster sucht nach einer Entsprechung eines möglichst
kleinen Teils der gesuchten Zeichenfolge, während das
standardmäßige gierige Muster nach einer Entsprechung eines
möglichst großen Teil der gesuchten Zeichenfolge sucht.
Beispielsweise entspricht in der Zeichenfolge "oooo" 'o+?' einem
einzigen "o", während 'o+' allen "o"s entspricht.
|
.
|
Entspricht
jedem beliebigen einzelnen Zeichen außer "\n". Soll die
Entsprechung ein beliebiges Zeichen einschließlich '\n' sein,
verwenden Sie ein Muster wie '[\s\S]'.
|
(muster)
|
Ein Teilausdruck, der muster entspricht und
die Entsprechung erfasst. Die erfasste Entsprechung kann mithilfe
der $0…$9-Eigenschaften aus der sich ergebenden Matches-Auflistung
abgerufen werden. Sollen die Entsprechungen runde Klammern ( )
sein, verwenden Sie '\(' oder '\)'.
|
(?:muster)
|
Ein Teilausdruck, der muster entspricht, aber
die Entsprechung nicht erfasst, d. h. eine Entsprechung ohne
Erfassung, die nicht für die spätere Verwendung gespeichert wird.
Dies ist zum Kombinieren von Teilen eines Musters mit dem
"oder"-Zeichen (|) nützlich. Beispielsweise kann der Ausdruck
'industr(?:y|ies)' schneller eingegeben werden als
'industry|industries'.
|
(?=muster)
|
Ein Teilausdruck, der eine positive
Lookahead-Suche durchführt, die eine Entsprechung für die
Zeichenfolge an jedem Punkt sucht, an dem ein der Zeichenfolge
entsprechendes Muster beginnt. Dies ist eine Entsprechung ohne
Erfassung, d. h. die Entsprechung wird nicht für die spätere
Verwendung gespeichert. Beispielsweise entspricht 'Windows
(?=95|98|NT|2000)' "Windows" in "Windows 2000", aber nicht
"Windows" in "Windows 3.1". Lookaheads verbrauchen keine Zeichen,
d. h. nach dem Auftreten einer Entsprechung beginnt die Suche nach
der nächsten Entsprechung unmittelbar nach der letzten
Entsprechung, und nicht nach den Zeichen, die die Lookahead-Suche
enthielten.
|
(?!muster)
|
Ein Teilausdruck, der eine negative
Lookahead-Suche durchführt, die eine Entsprechung für die
Suchzeichenfolge an jedem Punkt sucht, an dem ein nicht der
Zeichenfolge entsprechendes Muster beginnt. Dies ist eine
Entsprechung ohne Erfassung, d. h. die Entsprechung wird nicht für
die spätere Verwendung gespeichert. Beispielsweise entspricht
'Windows (?!95|98|NT|2000)' "Windows" in "Windows 3.1", aber nicht
"Windows" in "Windows 2000". Lookaheads verbrauchen keine Zeichen,
d. h. nach dem Auftreten einer Entsprechung beginnt die Suche nach
der nächsten Entsprechung unmittelbar nach der letzten
Entsprechung, und nicht nach den Zeichen, die die Lookahead-Suche
enthielten.
|
x|y
|
Entspricht entweder x oder y. Beispielsweise
entspricht 'z|food' "z" oder "food". '(z|f)ood' entspricht "zood"
oder "food".
|
[xyz]
|
Eine Zeichengruppe. Entspricht einem
beliebigen der eingeschlossenen Zeichen. Beispiel: '[abc]'
entspricht dem 'a' in "plain".
|
[^xyz]
|
Eine negative Zeichengruppe. Entspricht einem
beliebigen nicht eingeschlossenen Zeichen. Beispiel: '[^abc]'
entspricht dem 'p' in "plain".
|
[a-z]
|
Ein Zeichenbereich. Entspricht einem
beliebigen Zeichen im angegebenen Bereich. Beispiel: '[a-z]'
entspricht jedem Kleinbuchstaben im Bereich von 'a' bis 'z'.
|
[^a-z]
|
Ein negativer Zeichenbereich. Entspricht einem
beliebigen Zeichen, das sich nicht im angegebenen Bereich befindet.
Beispiel: '[^a-z]' entspricht jedem Buchstaben, der nicht im
Bereich von 'a' bis 'z' vorhanden ist.
|
\b
|
Entspricht einer Wortgrenze, d. h. der
Position zwischen einem Wort und einem Leerzeichen. Beispiel:
'er\b' entspricht dem 'er' in "never", aber nicht dem 'er' in
"verb".
|
\B
|
Entspricht einer anderen als einer Wortgrenze.
Beispiel: 'er\B' entspricht dem 'er' in "verb", aber nicht dem 'er'
in "never".
|
\cx
|
Entspricht dem durch x angegebenen
Steuerzeichen. Beispielsweise entspricht \cM STRG+M oder einem
Wagenrücklaufzeichen. Der Wert von x muss im Bereich von A bis Z
oder von a bis z liegen. Andernfalls wird angenommen, dass c ein
literales 'c'-Zeichen ist.
|
\d
|
Entspricht einer Ziffer. Gleichbedeutend mit
[0-9].
|
\D
|
Entspricht einem anderen Zeichen als einer
Ziffer. Gleichbedeutend mit [^0-9].
|
\f
|
Entspricht einem Seitenvorschubzeichen.
Gleichbedeutend mit \x0c und \cL.
|
\n
|
Entspricht einem Zeilenendezeichen.
Gleichbedeutend mit \x0a und \cJ.
|
\r
|
Entspricht einem Wagenrücklaufzeichen.
Gleichbedeutend mit \x0d und \cM.
|
\s
|
Entspricht
einem beliebigen Leerraumzeichen, z. B. Leerzeichen, Tabulator,
Seitenvorschub usw. Gleichbedeutend mit [ \f\n\r\t\v].
|
\S
|
Entspricht einem anderen Zeichen als einem
Leerraumzeichen. Gleichbedeutend mit [^ \f\n\r\t\v].
|
\t
|
Entspricht einem Tabulatorzeichen.
Gleichbedeutend mit \x09 und \cI.
|
\v
|
Entspricht einem vertikalen Tabulatorzeichen.
Gleichbedeutend mit \x0b und \cK.
|
\w
|
Entspricht einem beliebigen Wortzeichen
einschließlich dem Unterstrich. Gleichbedeutend mit
'[A-Za-z0-9_]'.
|
\W
|
Entspricht einem beliebigen Nichtwortzeichen.
Gleichbedeutend mit '[^A-Za-z0-9_]'.
|
\xn
|
Entspricht n, wobei n ein hexadezimaler
Escapewert ist. Hexadezimale Escapewerte müssen genau zwei Stellen
lang sein. Beispiel: '\x41' entspricht "A". '\x041' ist
gleichbedeutend mit '\x04' & "1". Ermöglicht die Verwendung von
ASCII-Codes in regulären Ausdrücken.
|
\num
|
Entspricht num, wobei num eine positive ganze
Zahl ist. Ein Verweis zurück auf erfasste Entsprechungen. Beispiel:
'(.)\1' entspricht zwei aufeinander folgenden, identischen
Zeichen.
|
\n
|
Gibt entweder einen oktalen Escapewert oder
einen Rückverweis an. Wenn vor \n mindestens n erfasste
Teilausdrücke stehen, ist n ein Rückverweis. Andernfalls ist n ein
oktaler Escapewert, wenn n eine oktale Ziffer ist (0-7).
|
\nm
|
Gibt entweder einen oktalen Escapewert oder
einen Rückverweis an. Wenn vor \nm mindestens nm erfasste
Teilausdrücke stehen, ist nm ein Rückverweis. Wenn vor \nm
mindestens n erfasste Teilausdrücke stehen, ist n ein Rückverweis,
auf den das Literal m folgt. Wenn keine der vorangehenden
Bedingungen zutrifft, entspricht \nm dem oktalen Escapewert nm,
wenn es sich bei n und m um oktale Ziffern (0-7) handelt.
|
\nml
|
Entspricht dem oktalen Escapewert nml, wenn n
eine oktale Ziffer ist (0-3) und m und l oktale Ziffern sind
(0-7).
|
\un
|
Entspricht n, wobei n ein als vier
hexadezimale Ziffern dargestelltes Unicode-Zeichen ist. Beispiel:
\u00A9 entspricht dem Copyright-Sonderzeichen (©).
|